package com.css.dzj.dzjap.modules.expertcredit.service;

import com.css.dzj.dzjap.modules.expertcredit.entity.ApExpertCreditEntity;
import com.querydsl.core.QueryResults;
import org.springframework.data.domain.Pageable;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

public interface ExpertCreditService {

    /**
     * //通过ID查询专家信用表
     */
    ApExpertCreditEntity getExpertCred(String expertcreditId);

    /**
     * 添加专家信用表
     */
    String addExpertCred(ApExpertCreditEntity exCred);

    /**
     * 修改专家信用信息表
     */
    void update(ApExpertCreditEntity exCred);

    /**
     * 删除专家信用信息表
     */
    Boolean deleteExpertCred(String expertcreditId);



    /**
     * 查询专家信用信息表黑名单
     */
    ApExpertCreditEntity getReExpertCred(String expertcreditId);

    /**
     *分页查询所有评专家信用信息表
     */
    QueryResults<ApExpertCreditEntity> getAllExpertCred(Pageable pageable);

    /**
     *分页查询所有专家信用信息表黑名单
     */
    QueryResults<ApExpertCreditEntity> getAllReExpertCred(Pageable pageable);


    /**
     *多条件分页查询所有专家信用信息表
     */
    QueryResults<ApExpertCreditEntity> getAllConExpertCred(Pageable pageable, String expertName, String expertIdcard, String certype, String expertCode, String expertScore, String expertLevl, String expertClassification);


    /**
     *多条件分页查询所有专家信用信息表黑名单
     */
    QueryResults<ApExpertCreditEntity> getAllReConExpertCred(Pageable pageable, String expertName, String expertIdcard, String certype, String expertCode, String expertScore, String expertGrade, String expertClassification);


    /**
     * 批量删除
     */
    void update(List<ApExpertCreditEntity> list);


    /**
     * 导入专家信用信息表
     */
   /* String expertImport (String fileName, MultipartFile file);*/


    /**
     * 身份证号
     */
   List idCard();

    /**
     * 黑白名单身份证号
     */
    List idHbCard();
}
